#pragma once

#include "common.h"

#include <boost/property_tree/ptree.hpp>
#include <boost/property_tree/xml_parser.hpp>
#include <boost/foreach.hpp>
#include <boost/program_options.hpp>
#include <boost/program_options/detail/utf8_codecvt_facet.hpp>
using namespace boost;

#include <osg/Node>
#include <osg/Geode>
using namespace osg;

#include <locale>
#include <vector>
using namespace std;

bool readXML(const string& filename, property_tree::wptree& xml);
bool writeXML(const string& filename, property_tree::wptree& xml);

void initAdjacencyListManully();
void initAdjacencyListAutomatically(property_tree::wptree& configXML);
void destroyAdjacencyList();
void initColorsManully();
void initColorsAutomatically(property_tree::wptree& configXML);
void destroyColors();